#pragma once
using namespace std;
class PIDController {
public:
    // 构造函数（初始化PID参数）
    PIDController(double kp, double ki, double kd, double max_output, double min_output);

    // 计算控制量（核心函数）
    double compute(double setpoint, double actual_value);

    // 可选：重置积分项（防止积分饱和）
    void reset();

private:
    double kp_, ki_, kd_;          // PID参数
    double max_output_, min_output_; // 输出限幅
    double integral_;               // 积分项累积值
    double prev_error_;             // 上一次误差（用于微分项）
};